A typical prior art computer network allows computers in different locations to share information that would otherwise not be available to a non-networked computer. One type of prior computer network is a local area network that employs a linear bus topology for transmitting data packets. All computers within the network are connected by a single shared transmission bus. Data is transmitted as serial bit stream in packets at a one packet at a time basis along the shared transmission bus. The time-sharing network typically works fine so long as the network traffic (i.e., network data transmission) is not heavy.
An increase in data traffic often results from network expansion as more terminals are added and more powerful terminals, such as multiple file servers and high performance workstations, are installed.
One prior approach to solving this problem is to replace the existing network with a faster access speed network, such as a fiber distributed data interface ("FDDI") network. The network throughput often improves once such a high access speed network is employed.
The throughput issue, however, is often divided into two concerns. The first, total network throughput, is the amount of traffic that can be carried overall on a shared bus network. Each of the terminals on the network receives a percentage of the total throughput. The second, node throughput, is the amount of traffic that one terminal device can transmit onto and receive from the shared bus network. Faster terminal devices or continuous network users suffer on a network with limited bandwidth because they are forced to share the network.
One disadvantage of this prior approach is that the node throughput is typically not improved by the high speed network. The faster speed network typically improves the total throughput. The higher total network throughput, however, does not always translate into higher node throughput. For example, a 100 Mbit/sec. FDDI network would typically only deliver an average of 1 Mbit/sec. to each terminal of a 100 user network. As more users are added into the network, each typically receives a smaller percentage of the total throughput.
Another prior approach to solving the throughput issue is to reduce the load, rather than to increase the traffic capacity, on the network by using bridges to segment a network into smaller sub-networks. By this approach, a number of terminal devices are coupled to a multiport bridge. Simultaneous parallel data transmissions can take place in such a network.
FIG. 1 illustrates a conventional multiport bridge architecture for network 10. Multiport bridge 8 is comprised of system bus 12 coupled to system processor 11, memory 9, and two-port bridges 16, 17, and 18. Two-port bridges 16, 17, and 18 reside in expansion slots within multiport bridge 8. Bridges 16, 17 and 18 are each connected to two Ethernet.TM. transmission cables. For example, bridge 16 is connected to cables 19 and 20. Terminals are connected to respective cables. For example, terminal 25 is a mainframe computer connected to cable 19 and terminal 30 is a workstation connected to cable 24. The terminals send data packets to each other over the network. Each of the bridges 16, 17 and 18 in the multiport bridge system is coupled to an interconnect system bus 12. Bridges 16, 17 and 18 receive packets to and from system bus 12, respectively. The bridges then filter out the local packets that need not be transmitted and forward the packets that need to be transmitted.
A system processor 11 controls the traffic for multiport bridge 8 and does other management work. System processor 11 sends data and code to and from memory 9 via system bus 12.
Communication between two terminals within a segment can take place at the same time that communication between two terminals of different segments takes place. Thus there can be simultaneous transmission within the network. For example, data transmission from terminal 25 to terminal 26 can take place simultaneously with data transmission from terminal 27 to terminal 30.
One disadvantage associated with this prior approach is that multiport bridge 8 can sometimes cause relatively long pipeline delays. A pipeline delay is the amount of time between receipt of a packet by multiport bridge 8 and the forwarding of the packet from the multiport bridge. When a packet arrives at multiport bridge 8, multiport bridge 8 stores the packet before sending it out. This is a filtering/forwarding process. Each filtering and forwarding operation within the multiport bridge 8 does not begin until a full packet is received. The filtering and forwarding operation often requires relatively significant processing time. Time is, therefore, wasted in storing the packet, as well as in filtering and forwarding the packet. Traffic destined for other segments is thus delayed at the bridges. Only a limited packet filtering and forwarding rate can typically be obtained at multiport bridge 8.
Another disadvantage of multiport bridge 8 is the bandwidth limitation of system bus 12. If system bus 12 is a bus from a personal computer, for example, then system bus 12 might not have sufficient bandwidth to adequately handle large amounts of data that might result from numerous terminals, cables, or two-port bridges being connected to the bus 12. The bandwidth limitation of system bus 12 often is a bottleneck for network 10 as the number of ports increase, thus typically hindering system expansion.
Moreover, the use of a system bus with greater bandwidth can often dramatically increase the cost of multiport bridge 8.
Another disadvantage associated with this prior multiport bridge approach is that network segmentation resulting from connection to the multiport bridge typically eliminates the ability of any terminal node in the network to communicate freely with any other terminal node. As can be seen from FIG. 1, transmission of a data packet destined for terminals in other segments must first go through multiport bridge 8. Multiport bridge 8 forwards the packet to its destination via an input two-port bridge (such as bridge 18), the system bus 12, and an output two-port bridge (such as bridge 16).